package cn.iocoder.yudao.module.shop.info.vo;

import cn.iocoder.yudao.module.api.shop.info.dto.ShopInfoDTO;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "店铺入驻缴费 Response VO")
@Data
public class ShopEnterOrderRespVO {

    @Schema(description = "唯一编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "缴费单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SHP2024111116038888")
    private String tradeNo;

    @Schema(description = "店铺编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long shopId;

    @Schema(description = "店铺信息")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private ShopInfoDTO shop;

    @Schema(description = "主营类目编号", example = "1024")
    private Long categoryId;

    @Schema(description = "主营类目名称", example = "计算机软件")
    private String categoryName;

    @Schema(description = "入驻套餐编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long enterPackageId;

    @Schema(description = "入驻套餐名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "199.00元/1年")
    private String enterPackageName;

    @Schema(description = "是否已支付", requiredMode = Schema.RequiredMode.REQUIRED)
    private Boolean payed;

    @Schema(description = "是否已退款")
    private Boolean refunded;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

}
